﻿' ******************************************************************************
' ** 
' **  Yahoo! Managed Showcase
' **  Written by Marius Häusler 2011
' **  It would be pleasant, if you contact me when you are using this code.
' **  Contact: YahooFinanceManaged@gmail.com
' **  Project Home: http://code.google.com/p/yahoo-finance-managed/
' **  
' ******************************************************************************
' **  
' **  Copyright 2011 Marius Häusler
' **  
' **  Licensed under the Apache License, Version 2.0 (the "License");
' **  you may not use this file except in compliance with the License.
' **  You may obtain a copy of the License at
' **  
' **    http://www.apache.org/licenses/LICENSE-2.0
' **  
' **  Unless required by applicable law or agreed to in writing, software
' **  distributed under the License is distributed on an "AS IS" BASIS,
' **  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
' **  See the License for the specific language governing permissions and
' **  limitations under the License.
' ** 
' ******************************************************************************


Namespace YahooManaged.Finance.Support



    ''' <summary>
    ''' Class for saving informations about the fix dates for Daylight Saving Time in a specific year.
    ''' </summary>
    ''' <remarks></remarks>
    Public Class DaylightSavingTime

        Private mYear As Integer
        Private mStartDate As DateTime
        Private mEndDate As DateTime

        Public ReadOnly Property Year As Integer
            Get
                Return mYear
            End Get
        End Property
        Public ReadOnly Property StartDate As DateTime
            Get
                Return mStartDate
            End Get
        End Property
        Public ReadOnly Property EndDate As DateTime
            Get
                Return mEndDate
            End Get
        End Property

        ''' <summary>
        ''' Default constructor
        ''' </summary>
        ''' <param name="startDate">The start date of Daylight Saving Time</param>
        ''' <param name="endDate">The end date of Daylight Saving Time</param>
        ''' <remarks>In case of countries in southern hemisphere the start date is higher then the end date. In this case the object contains the end date of the period that starts one year before. The start date is the begin of the period that will go on into the next year.</remarks>
        Public Sub New(ByVal startDate As DateTime, ByVal endDate As DateTime)
            If startDate.Year <> endDate.Year Then
                Throw New ArgumentException("The year of [startDate] is not the same year like [endDate] parameter.", "startDate")
            Else
                mYear = startDate.Year
                mStartDate = startDate
                mEndDate = endDate
            End If
        End Sub

    End Class


End Namespace